﻿package net.wangit.framework.util;

import java.util.ArrayList;
import java.util.List;

import net.wangit.framework.cache.Cache;


public class SystemMessage {

	private static final String KEY = "message";

	static {
		Cache cache = getCache();
		if (cache.get(SystemMessage.KEY) == null)
			cache.put(SystemMessage.KEY, new ArrayList());
	}

	public SystemMessage() {
	}

	/*
	 * 增加消息
	 */
	public static void add(String message) {
		Cache cache = getCache();
		List messages = (List) cache.get(SystemMessage.KEY);
		messages.add(message);
		update(cache, messages);
	}
	
	/*
	 * 删除指定消息
	 */
	public static void clear(int i) {
		Cache cache = getCache();
		List messages = (List) cache.get(SystemMessage.KEY);
		messages.remove(i);
		update(cache, messages);
	}
	/*
	 * 清除缓存中消息
	 */
	public static void clear() {
		update(getCache(), new ArrayList());
	}
	/*
	 * 获取缓存中消息
	 */
	public static List getMessages() {
		return (List) getCache().get(SystemMessage.KEY);
	}
	/*
	 * 更新缓存中消息
	 */
	private static void update(Cache cache, List messages) {
		cache.clear(SystemMessage.KEY);
		cache.put(SystemMessage.KEY, messages);
	}

	/*
	 * 获取消息缓存
	 */
	private static Cache getCache() {
		return CacheUtil.getMessageCache();
	}
}
